Tools exist that systematically explore the state spaces of systems composed of several concurrent processes executing C or C++ code to automatically detect problems between concurrent processes of a system. However, these tools only check specific formal properties. These specific formal properties do not use all the information available from the state space of a system and thereby fail to facilitate the best understanding of how the code is being exercised and how the different processes behave and interact with each other. This is because the state spaces of concurrent systems often contain millions of states and transitions which makes it difficult to extract the information and present it to the user in a meaningful and convenient way.